GPT-3/ChatGPT复现的经验教训
作者:杨靖锋,现任亚马逊科学家,本科毕业于北大,硕士毕业于佐治亚理工学院,师从 Stanford 杨笛一教授。
译文由杨昊桐翻译,王骁修订。感谢靳弘业对第一版稿件的建议,感谢陈三星,符尧的讨论和建议。(本文经授权后由OneFlow发布。原文:https://jingfengyang.github.io/gpt)
一般来说,由于未知的原因,预训练过程中广泛观察到损失尖峰(loss spike)和无法收敛的情况。因此,众多的对训练设置和模型架构的修改被提出,用以避免这些问题。但是其中一些修改在 OPT 和 BLOOM 之中还不是最优解,这可能导致它们的性能较差。GPT-3 并没有明确提到他们是如何解决这个问题的。
对于一些传统的 NLU 任务,比如分类任务,我建议首先尝试微调 FLAN-T5-11B 模型,而不是提示 GPT-3。例如,在 SuperGLUE,一个困难的 NLU 基准数据集(包括阅读理解、文本蕴含、词义消歧、共指消解和因果推理等任务)上,所有的 PaLM-540B 的少样本提示性能都劣于微调的 T5-11B,并在其中大多数任务上有着显著的差距。如果使用原始 GPT3,其提示结果与微调 SOTA 的结果之间的差距更大。有趣的是,即使是经过微调的 PaLM 也仅比经过微调的 T5-11B 有着有限的改进,而经过微调的 PaLM 甚至比经过微调的编-解码器模型 32B MoE 模型还要差。这表明使用更合适的架构(例如编-解码器模型)微调较小的模型仍然是比使用非常大的仅解码器模型更好的解决方案,无论是微调还是提示来使用这些大模型。根据最近的一篇论文,即使对于最传统的 NLU 分类任务——情感分析,ChatGPT 仍然比经过微调的较小模型差。
一些不以现实世界数据为基础的困难任务。例如,BigBench 中仍然有许多对 LLM 来说困难的任务。具体地说,在 35% 的 BigBench 任务上,人类的平均表现仍然高于 PaLM-540B,并且在某些任务中,扩大模型规模甚至无济于事,例如导航和数学归纳。在数学归纳中,当提示中的假设不正确时(例如“2 是奇数”),PaLM 会犯很多错误。在逆规模定律竞赛 (Inverse Scaling Law Challenge) 中,也观察到了类似的趋势,例如重新定义数学符号(例如提示可能“将 π 重新定义为 462”)后再使用这个符号。在这种情况下,LLM 中的现实世界先验知识太强而无法被提示覆盖,而微调较小的模型可能可以更好地学习这些反事实知识。
在很多多语言任务和机器翻译任务中,使用少样本的提示 GPT 仍然要比微调的更小的模型更差。这很可能是由于除英语之外的其它语言在预训练语料库中占比很少。
当从英语翻译为其他语言,以及翻译高资源语言到英语时,PaLM 和 ChatGPT 仍然比在机器翻译任务上微调的更小的模型要差。 对于多语言问答任务来说,在少样本的 PaLM-540B 和微调的更小模型之间还存在较大差距。 对于多语言文本生成(包括文本摘要和数据到文本生成),在少样本的 PaLM-540B 和微调的更小模型之间还存在较大差距。在大部分任务上即使微调的 PaLM-540B 也仅仅比微调的 T5-11B 有有限的提升,并仍然劣于微调的 SOTA。
对于常识推理任务,在最好的少样本提示 LLM 和微调的 SOTA 之间仍然存在着较大的差距,例如:OpenbookQA,ARC(包括 Easy 和 Challenge 版本)以及 CommonsenseQA(甚至使用了 CoT 提示)。
对于机器阅读理解任务,在最好的少样本提示 LLM 和微调的 SOTA 之间仍然存在着较大的差距。在大多数数据集上,这个差距可能非常巨大。这可能是因为所有回答问题所需的知识都已经包含在给出的文本中,并不需要 LLM 中的额外知识。